package com.bzkj.basicinfo.mapper;

import com.bzkj.basicinfo.domain.ncc.dto.NccBasicSkuInfoDto;
import com.bzkj.basicinfo.domain.ncc.NccBasicSkuInfo;
import com.bzkj.basicinfo.domain.ncc.erp.NccSkuInfoBean;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Set;

/**
 * @Author wangzhichao
 * @ClassName NccBasicSkuInfoMapper
 * @Date 2024/12/09
 * @description Ncc商品信息
 */

public interface NccBasicSkuInfoMapper
{
    /**
     * 根据条件查询ncc商品信息
     * @Author wangzhichao
     * @Date 2024/12/10 16:24:47
     * @Param dto
     */
    List<NccBasicSkuInfo> findNccBasicSkuInfoData(NccBasicSkuInfoDto dto);

    /**
     * 根据code获取商品信息
     * @Author wangzhichao
     * @Date 2024/12/11 13:20:34
     * @Param code
     */
    NccBasicSkuInfo getNccBasicSkuInfoOne(String code);

    /**
     * 根据pk_material修改ncc商品信息
     * @Author wangzhichao
     * @Date 2024/12/11 13:19:44
     * @Param entity
     */
    int nccBasicSkuInfoUpdate(NccBasicSkuInfo entity);

    /**
     * 新增ncc商品信息
     * @Author wangzhichao
     * @Date 2024/12/11 14:00:30
     * @Param entity
     */
    int nccBasicSkuInfoSave(NccBasicSkuInfo entity);

    /**
     * 根据pkMaterial修改商品信息
     * @Author wangzhichao
     * @Date 2024/12/11 14:17:12
     * @Param status
     * @Param pk_material
     */
    int nccBasicSkuInfoEnableStatusUpdate(@Param("status") String status,@Param("pkMaterial") String pkMaterial);

    List<String> findNccBasicSkuInfoNameList(String name);

    void nccBasicSkuInfoCreateTableXXXSku(String tableName);

    Set<String> findNccBasicSkuInfoList(@Param("pkMaterial") List<String> pkMaterial);

    void nccBasicSkuInfoBatchUpdate(@Param("updateData") List<NccBasicSkuInfo> updateData);

    void nccBasicSkuINfoBatchSave(@Param("insertData") List<NccBasicSkuInfo> insertData);

    NccBasicSkuInfo getNccBasicSkuINfoOneByPkMarbasclass(String pkMarbasclass);

    void updateNccBasicSkuInfoDef5(@Param("pkMaterial") String pkMaterial,@Param("num") int num);

    /**
     * 新增或更新NCC商品信息
     * @param nccSkuInfoBean
     */
    void insertOrUpdate(NccSkuInfoBean nccSkuInfoBean);
}
